/**
 * 创建测试数据库脚本
 * 用于在测试前确保测试数据库存在
 */

import mysql from 'mysql2/promise';
import dotenv from 'dotenv';

dotenv.config();

const createTestDatabase = async () => {
  try {
    // 连接到MySQL服务器（不指定数据库）
    const connection = await mysql.createConnection({
      host: process.env.DB_HOST || 'localhost',
      port: parseInt(process.env.DB_PORT) || 3306,
      user: process.env.DB_USER || 'root',
      password: process.env.DB_PASSWORD || 'root',
    });

    console.log('✅ 已连接到MySQL服务器');

    // 创建测试数据库
    await connection.query(
      'CREATE DATABASE IF NOT EXISTS `aiessay_test` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci'
    );
    console.log('✅ 测试数据库 aiessay_test 已创建或已存在');

    // 创建开发数据库（如果不存在）
    await connection.query(
      'CREATE DATABASE IF NOT EXISTS `aiessay_dev` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci'
    );
    console.log('✅ 开发数据库 aiessay_dev 已创建或已存在');

    await connection.end();
    console.log('✅ 数据库创建完成');
    process.exit(0);
  } catch (error) {
    console.error('❌ 创建数据库失败:', error);
    process.exit(1);
  }
};

createTestDatabase();

